package com.gqz.defect.vo;


import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gqz.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 消缺工单表
 */


@Data
@AllArgsConstructor
@NoArgsConstructor
public class EnDefectsSheetListVo implements Serializable {


    /**
     * 主键
     **/
    @Excel(name = "主键", width = 20)
    private String id;

    /**
     * 消缺工单名称
     **/
    @Excel(name = "消缺工单名称", width = 20)
    private String gdmc;

    /**
     * 消缺单位编码
     **/
    @Excel(name = "消缺单位编码", width = 20)
    private String xqdwbm;

    /**
     * 消缺单位名称
     **/
    @Excel(name = "消缺单位名称", width = 20)
    private String xqdwmc;

    /**
     * 消缺班组编码
     **/
    @Excel(name = "消缺班组编码", width = 20)
    private String xqbzbm;

    /**
     * 消缺班组名称
     **/
    @Excel(name = "消缺班组名称", width = 20)
    private String xqbzmc;

    /**
     * 计划开始时间
     **/
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "jhkssj", format = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划开始时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date jhkssj;

    /**
     * 计划开始时间-至
     **/
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "jhkssj_to", format = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划开始时间-至", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date jhkssj_to;

    /**
     * 计划结束时间
     **/
    @Excel(name = "计划结束时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "jhjssj", format = "yyyy-MM-dd HH:mm:ss")
    private Date jhjssj;

    /**
     * 派单人id
     **/
    @Excel(name = "派单人id", width = 20)
    private String pdPerson;

    /**
     * 派单人名称
     **/
    @Excel(name = "派单人名称", width = 20)
    private String pdPersonName;

    /**
     * 派单人电话
     **/
    @Excel(name = "派单人电话", width = 20)
    private String pdrTel;

    /**
     * 派单时间
     **/
    @Excel(name = "派单时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "pdrTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date pdrTime;

    /**
     * 消缺主要内容
     **/
    @Excel(name = "消缺主要内容", width = 20)
    private String xqnr;

    /**
     * 创建人id
     **/
    @Excel(name = "创建人id", width = 20)
    private String createPerson;

    /**
     * 创建人名称
     **/
    @Excel(name = "创建人名称", width = 20)
    private String createPersonName;

    /**
     * 创建时间
     **/
    @Excel(name = "创建时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "createTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 工单来源编码
     **/
    @Excel(name = "工单来源编码", width = 20)
    private String gdResousId;

    /**
     * 工单来源名称
     **/
    @Excel(name = "工单来源名称", width = 20)
    private String gdResousName;

    /**
     * 工单状态编码
     **/
    @Excel(name = "工单状态编码", width = 20)
    private String gdzt;

    /**
     * 工单状态名称
     **/
    @Excel(name = "工单状态名称", width = 20)
    private String gdztMc;

    /**
     * 接单人id
     **/
    @Excel(name = "接单人id", width = 20)
    private String jdPerson;

    /**
     * 接单人名称
     **/
    @Excel(name = "接单人名称", width = 20)
    private String jdPersonName;

    /**
     * 接单时间
     **/
    @Excel(name = "接单时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "jdTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date jdTime;

    /**
     * 接单电话
     **/
    @Excel(name = "接单电话", width = 20)
    private String jdTel;

    /**
     * 接单人照片
     **/
    @Excel(name = "接单人照片", width = 20)
    private String jdPhoto;

    /**
     * 消缺结论
     **/
    @Excel(name = "消缺结论", width = 20)
    private String xqjl;

    /**
     * 质量评价结论编码
     **/
    @Excel(name = "质量评价结论编码", width = 20)
    private String zlpjjl;

    /**
     * 质量评价结论编码
     **/
    @Excel(name = "质量评价结论编码", width = 20)
    private String zlpjjlmc;

    /**
     * 评价说明
     **/
    @Excel(name = "评价说明", width = 20)
    private String pjsm;

    /**
     * 评价人
     **/
    @Excel(name = "评价人", width = 20)
    private String pjrName;

    /**
     * 评价时间
     **/
    @Excel(name = "评价时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "pjTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date pjTime;

    /**
     * 所属机房id
     **/
    @Excel(name = "所属机房id", width = 20)
    private String ssjf;

    /**
     * 所属机房名称
     **/
    @Excel(name = "所属机房名称", width = 20)
    private String ssjfmc;

    /**
     * 缺陷隐患数量
     **/
    @Excel(name = "缺陷隐患数量", width = 10)
    private String qxyhsl;


    /**
     * 是否删除
     **/
    @Excel(name = "是否删除  ", width = 10)
    private String sfsc;

    /**
     * 到达现场时间
     **/
    @Excel(name = "到达现场时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "ddxcTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date ddxcTime;

    /**
     * 完成消缺时间
     **/
    @Excel(name = "完成消缺时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "wcxqTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date wcxqTime;


    /**
     * 消缺人员id
     **/
    @Excel(name = "消缺人员id", width = 20)
    private String xqPerson;

    /**
     * 消缺人员
     **/
    @Excel(name = "消缺人员", width = 20)
    private String xqPersonName;

    /**
     * app工单状态(1代办2已办3退单4已办)
     **/
    @Excel(name = "app工单状态(1代办2已办3退单4已办)", width = 10)
    private String appGdzt;

    /**
     * app工单状态名称
     **/
    @Excel(name = "app工单状态名称", width = 10)
    private String appGdztMc;

    /**
     * 接单坐标
     **/
    @Excel(name = "接单坐标", width = 20)
    private String jdZb;

    /**
     * 消缺认证坐标
     **/
    @Excel(name = "消缺认证坐标", width = 20)
    private String xqrzZb;

    /**
     * 到达现场坐标
     **/
    @Excel(name = "到达现场坐标", width = 20)
    private String ddxcZb;

    /**
     * 完成消缺坐标
     **/
    @Excel(name = "完成消缺坐标", width = 20)
    private String wcxqZb;

    /**
     * 消缺认证图片ids
     **/
    @Excel(name = "消缺认证图片ids", width = 20)
    private String xqrzTpIds;

    /**
     * 到达现场图片ids
     **/
    @Excel(name = "到达现场图片ids", width = 20)
    private String ddxcTpIds;

    /**
     * 消缺认证时间
     **/
    @Excel(name = "消缺认证时间", width = 25, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "xqrzTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date xqrzTime;

    /**
     * 消缺对象类型(0是机房1是库房)
     **/
    @Excel(name = "消缺对象类型(0是机房1是库房)", width = 10)
    private String xqdxLx;

    /**
     * 所属库房id
     **/
    @Excel(name = "所属库房id", width = 20)
    private String sskf;

    /**
     * 所属库房名称
     **/
    @Excel(name = "所属库房名称", width = 20)
    private String sskfmc;

    /**
     * 消缺站点
     **/
    @Excel(name = "消缺站点", width = 20)
    private String xqzdType;

    /**
     * 消缺站点名称
     **/
    @Excel(name = "消缺站点名称", width = 50)
    private String xqzdTypeName;


    /**
     * 缺陷隐患数据
     */
    private List<EnDefectsSheetRelVo> defectsSheetRelVoList;

}
